package com.shensi.appCollect.service;


import com.shensi.appCollect.param.request.QuestEnterpriseParam;
import com.shensi.appCollect.param.request.TradeReverseScanPayParameter;
import com.shensi.appCollect.param.response.YunhuaPayRes;
import com.shensi.appCollect.param.response.YunhuaResponse;
import com.shensi.appCollect.pojo.*;

import java.util.List;
import java.util.Map;

/**
 * 
 * 
 * @author chglee
 * @email 1992lcg@163.com
 * @date 2023-06-20 11:54:08
 */
public interface TradePaymentRecordsService {
	
	TradePaymentRecordsDO get(Integer id);
	
	List<TradePaymentRecordsDO> list(Map<String, Object> map);
	
	int count(Map<String, Object> map);
	
	int save(TradePaymentRecordsDO tradePaymentRecords);
	
	int update(TradePaymentRecordsDO tradePaymentRecords);
	
	int remove(Integer id);
	
	int batchRemove(Integer[] ids);
	
	/**
	 * 创建支付记录
	 * @param payParameter
	 * @return
	 */
	public int addTradePaymentRecords(TradeReverseScanPayParameter payParameter,String orderSn);
	
	public int updateTradePaymentRecords(TradeReverseScanPayNotifyDO notifdo);
	
	public int updateTradeReversePayInfo(TradeReversePayInfo payInfo);

	public int updateYunHuaPayInfo(YunhuaResponse<YunhuaPayRes> result);
	
	/**
	 * 使用enterpriseId查询商户编号
	 */
	public List<PayWay> selectPayWayEnterpriseId(Integer enterpriseId,String mno);
	
	/**
	 * 使用enterpriseId查询商户编号
	 */
	public SelectPayWayEnterpriseVO selectPayWayEnterpriseId(QuestEnterpriseParam param);
	
	
	/**
	 * 订单号查询订单一条记录
	 * @param ordNo
	 * @return
	 */
	TradePaymentRecordsDO selectOneOrdNo(String ordNo);
	
	
	/**
	 * 订单号查询订单一条记录
	 * @param ordNo
	 * @return
	 */
	TradePaymentRecordsDO selectorderSn(String orderSn);
	
	/**
	 *更新订单支付状态
	 * @param ordNo
	 * @param status
	 * @return
	 */
	int updateOrdNoStatus(String ordNo,Integer status);
	
}
